home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-20 | 4.9 KB | 141 lines | [TEXT/R*ch] |
- =====================================================================
- How NetEdit (aka Object Placement Editor) Works
- By Eric Bennett (ericb@psu.edu, Marathon@emb121.rh.psu.edu)
- With assistance from Tom Klancer (tklancer@cnj.digex.net)
- =====================================================================
-
- NetEdit looks for the string "plac" in the map file which indicates the
- beginning of the object placement file. It then backs up about 70 bytes to get
- the name of the level. From "plac" it then goes forward 24 bytes (start of objects)
- and 792 bytes (start of characters) to find the placement information which it edits.
- The placement record for each character/object is 12 bytes, as follows:
-
- Bytes Value Significance
- -------------------------------------
- 1-2 000x x=random placement flag. If x=1, then objects are placed
- randomly on the level. If x=0, objects are placed in
- predefined spots (I don't know where the predefined spots
- are stored). In net levels, x=1; in regual levels, x is
- usually zero.
- 3-4 00xx xx=initial number of the object on level
- 5-6 00xx xx=frequency of replenishing the object (lower=less often)
- Objects are replenished so that the total number present
- is equal to the value in bytes 7-8.
- 7-8 00xx xx=total # of object on level. Ex: if the flamethrower has a
- value of 2 here (and if random placement is on, as in a net
- level) then two players at any one time can have the TOZT.
- 9-10 FFFF unknown; always FFFF. Maybe if I bothered to change it I'd find
- out what it did :).
- 11-12 xxxx unknown; xxxx varies by level and object. This is NOT a location field;
- swapping values for the flamethrower and SPNKR on Mars Needs Women
- did _not_ cause these objects to appear in each other's usual locations.
-
- REWARD! To anyone who figures out what bytes 9-12 are for. I will credit you in the next release.
-
-
- The objects start at +24 from "plac":
-
- Offset Record
- from contents
- "plac"
-
- 24 Pistol
- 36 Pistol Ammo
- 48 Fusion Pistol
- 60 Fusion Battery
- 72 AR-75
- 84 AR-75 bullet clip
- 96 AR-75 grenades
- 108 SPNKR
- 120 Missiles
- 132 Invisibility
- 144 Invulnerability
- 156 Night Vision
- 168 Alien Weapon
- 180 Alien Ammo Clip
- 192 TOZT
- 204 Napalm Canister
- 216 Wide-angle view
- 228 Defense Center Chip
- 240 Alien Energy Converter
-
- Technically I think the fist is at offset 12, but no graphic appears on the level for it
- (although you _will_ occassionally here a "plunk" as you pick up an invisible fist,
- which in any case does not appear under your weapons list). Going beyond 240 also
- causes you to pick up invisible objects, whereas using undefined characters (see below)
- causes Marathon to crash.
-
- Here are the offsets for the various characters:
-
- Offset Record
- from contents
- "plac"
-
- 792 Assimilated Civilian ("Exploding Bob")
- 804 Minor Fighter
- 816 Major Fighter
- 828 Minor Bolt Fighter
- 840 Major Bolt Fighter
- 852 Green civilian
- 864 Yellow civilian
- 876 Blue civilian
- 888 Orange Civilian
- 900 Unused
- 912 Unused
- 924 Minor Enforcer
- 936 Major Enforcer
- 948 Minor Compiler/S'pht
- 960 Major Compiler
- 972 Minor Invisible Compiler
- 984 Major Invisible Compiler
- 996 Minor Hulk
- 1008 Major Hulk
- 1020 Minor Hunter
- 1032 Major Hunter
- 1044 Minor Juggernaut
- 1056 Major Juggernaut
- 1068 Minor Looker ("Explodabug")
- 1080 Major Looker
- 1092 Invisible Looker
- 1104 Marathon Defense Drone
- 1116 Unused
- 1128 Unused
- 1130 Minor Trooper
- 1152 Major Trooper
- 1164 Minor Wasp
- 1176 Major Wasp
- 1188 Unused
- 1200 Unused
- 1212 Unused
- 1224 Unused
- 1236 Alien Leader
- 1248 Renegade Defense Drone
-
-
- =====================================================================
- Changing NetEdit to recognize new objects or aliens
- =====================================================================
-
- If someone figures out how to add new objects or aliens to Marathon
- and you want NetEdit to recognize them, you can do so by modifying
- the STR# resources in NetEdit with Resorcerer or ResEdit.
-
- STR# 130 -- contains character names. Just add entries (the first
- one you add will have offset 1260, the second will be
- 1272, etc.). A blank entry should terminate the list.
- NetEdit has an internal limit of 48 of these records
- (records beyond this are simply ignored).
- STR# 131 -- contains character comments. Just be sure that there are
- at least as many strings in this resource as in 130.
-
- STR# 140 -- contains object names. Just add entries (the first
- one you add will have offset 252, the second will be
- 264, etc.). A blank entry should terminate the list.
- NetEdit has an internal limit of 28 of these records
- (records beyond this are simply ignored).
- STR# 141 -- contains object comments. Just be sure that there are
- at least as many strings in this resource as in 140.
-
-
- [end of file]
-